<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <!-- <script src="../js/ajax.js"></script> -->
</head>

<body>

</body>
<script>
    // Promise的实例化对象 (Promise实例  Promise对象)
    // pending ()
    // fulfilled
    // rejected
    var p = new Promise(function (resolve, reject) {
        // 容器 => 一般存放异步操作
        // aaaaaaaa; Promise构造函数可以捕获代码(同步)在执行过程出现的错误 => Promise实例的状态改为rejected 并将错误的信息作为 Promise实例的存储数据(PromiseResult)

        $.ajax({
            type: "post",
            url: "../php/login.php",
            data: { user: "a123123", pwd: "123123" },
            dataType: "json",
            success: function (result) {
                resolve(result);   //请求成功之后将数据传递出去
            }
        })
    })

    // console.log(p);

    // !!!   
    // p.then(callback1,callback2)
    // callback2  当Promise实例的状态由进行中 改为 已失败 是会执行此回调函数
    // (1) reject()  会将 Promise实例的状态改为rejected 并将传入的参数作为 Promise实例的存储数据(PromiseResult)  => 会执行callback2
    // (2) Promise构造函数可以捕获代码在执行过程出现的错误 => Promise实例的状态改为rejected 并将错误的信息作为 Promise实例的存储数据(PromiseResult)  => 会执行callback2


    p.then(function (data) {
        console.log("请求成功", data);
    }, function (err) {
        console.log("失败", err);
    })





</script>

</html>